<?php
/**
 * 基础库（缓存公用方法函数库）
 */
namespace Deyi\Functions;

/**
 * Class CacheFunction
 * @package Deyi\Functions
 */
class CacheFunction
{
    /**
     * 根据先关参数生成缓存key
     *
     * @author liang<lang@vip.deyi.com>
     * @param $prefix
     * @param array ...$args
     * @return mixed
     */
    public static function generateKey($prefix, ...$args)
    {
        foreach ($args as $v) {
            if (is_array($v)) {
                $prefix = $prefix . '_' . serialize($v);
            } elseif (is_bool($v)) {
                $prefix = $prefix . '_' . ($v ? 1 : 0);
            } else {
                $prefix = $prefix . '_' . (string)$v;
            }
        }

        return md5($prefix);
    }
}
